package chwgigs;

public class J16_OOP2 {

	// 메서드에는 '선언부'와 '몸체'가 있음

	// 접근제한자, 반환 유형, 메서드 이름 (매개변수 목록) { 메서드 몸체 }


	// 메서드 선언부는 반환유형, 메서드 이름, 인수목록이 있다. 
	// 메서드 선언을 메서드 서명이라고함
	// 특별한 메서드인 main은 프로그램의 진입점을 제공
	// 일반적으로 프로그램은 수 많은 클래스로 구성됨
	// 그 중 주가 되는 메서드가 하나 있어야 하는데 그것이 바로 main 메서드이다.

	public static void main(String[] args) {

		Students hee = new Students();
		hee.kor = 89;
		hee.eng = 77;
		hee.mat = 45;
		hee.computeGrade();
		hee.show();
	}

}

// 클래스생성

class Students {
	

	int kor;
	int eng;
	int mat;

	// 총점 구하기 메소드

	int computeTotal() {
		return kor + eng + mat;

	}

	// 평균 구하기
	float computeAverage() {
		return (float) (computeTotal()) / 3;
	}

	// 학점 구하기
	void computeGrade() {
		switch ((int) computeAverage() / 10) {
		case 10:
		case 9:
			System.out.println("수");
			break;
		case 8:
			System.out.println(" 우");
			break;
		case 7:
			System.out.println(" 미");
			break;
		case 6:
			System.out.println('양');
			break;
		default:
			System.out.println("가");
		}

	}

	void show() {
		System.out.println(computeAverage());
		System.out.println(computeTotal());
	}

}//
